package com.graduation_design.service.impl;

import cn.hutool.core.collection.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.graduation_design.entity.AppSpecificationValue;
import com.graduation_design.service.AppSpecificationValueService;
import com.graduation_design.mapper.AppSpecificationValueMapper;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @author 从南
* @description 针对表【app_specification_value】的数据库操作Service实现
* @createDate 2024-02-16 18:15:59
*/
@Service
public class AppSpecificationValueServiceImpl extends ServiceImpl<AppSpecificationValueMapper, AppSpecificationValue>
    implements AppSpecificationValueService{

    /**
     * 根据商品id查出所有商品属性
     */
    @Override
    public List<AppSpecificationValue> listByProductId(Long productId) {

        // 多种规格
        List<AppSpecificationValue> specificationValues = this.list(new QueryWrapper<AppSpecificationValue>().eq("product_id", productId));
        if (specificationValues == null || specificationValues.size() == 0) {

            // 单规格商品
            specificationValues = getSingleSpec();
        }

        return specificationValues;
    }

    /**
     * 当商品没有属性的时候，就说明只有一种规格可以选择，所以默认可以不设置规格。那么商品属性也只有一种，所以就不存库了，默认规格。
     */
    private List<AppSpecificationValue> getSingleSpec() {

        AppSpecificationValue spec = new AppSpecificationValue();
        spec.setSpec("规格");
        spec.setValue("默认规格");

        return ListUtil.toList(spec);
    }
}




